(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

a(b(x1)) → d(x1)
b(a(x1)) → a(b(x1))
d(c(x1)) → f(a(b(b(c(x1)))))
d(f(x1)) → f(a(b(x1)))
a(f(x1)) → a(x1)

Rewrite Strategy: INNERMOST

(1) CpxTrsMatchBoundsProof (EQUIVALENT transformation)

A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 2.
The certificate found is represented by the following graph.
Start state: 642
Accept states: [643, 644, 645]
Transitions:
642→643[a_1|0, a_1|1]
642→644[b_1|0]
642→645[d_1|0]
642→642[c_1|0, f_1|0]
642→646[c_1|1]
642→650[b_1|1]
642→651[d_1|2]
646→647[b_1|1]
647→648[b_1|1]
647→649[d_1|2]
648→649[a_1|1]
649→645[f_1|1]
649→651[f_1|1]
650→651[a_1|1]
651→645[f_1|1]
651→651[f_1|1]

(2) BOUNDS(O(1), O(n^1))